SCANREG
윈도우 레지스트리 검사기로 도스 상태에서 레지스트리를 검사하고, 백업하거나 복원하는 용도로 사용한다.
레지스트리 검사기가 실행되기 위해서는 윈도우가 설치된 폴더(C:\Windows)에 SCANREG.INI 파일이 있어야 한다. SCANREG.INI 파일은 레지스트리 검사기의 실행 환경을 설정하는 파일로, 도스용인 SCANREG.EXE와 윈도우용인 SCANREGW.EXE에 모두 적용된다.
레지스트리 검사기는 레지스트리 파일(User.dat, System.dat)과 System,ini, Win.ini 파일의 복사본을 컴퓨터가 처음 부팅할 때 하루에 한번씩 만든다. 컴퓨터를 부팅 시마다 레지스트리 검사기는 레지스트리를 검색하고 문제가 발견되면 자동으로 손상된 레지스트리를 가장 최근에 백업한 파일로 변경해 놓는다.
레지스트리 백업은 C:\Windows\Sysbckup 폴더에 RB0nn.cab 파일로 저장이 된다(nn은 00부터 99까지의 숫자이다).
■ 명령어 위치
윈도우가 설치되어 있는 하드디스크(C:\Windows\Command)에 실행 파일 형태로 존재하는 외부 명령어
단, 윈도우용 레지스트리 검사기인 SCANREGW.EXE와 설정 파일인 SCANREG.INI 파일은 C:\Windows에 있다.
■ 사용법
SCANREG [/AUTORUN] [/BACKUP] [/RESTORE] [/FIX] [/COMMENT="text"]
■ 옵션 및 매개변수

/autorun | 시스템이 시작될 때마다 자동으로 실행되는 것으로 레지스트리 검사기가 자동으로 시스템 레지스트리의 유효하지 않은 구문이나 빈 데이터 블록을 검색한다. 만약 유효하지 않은 레지스트리 구문이 검색되면 레지스트리 검사기는 자동으로 이전의 백업으로 복원한다. 만약 백업 파일 사용이 가능하지 않다면, 레지스트리 검사기는 레지스트리를 복구하려고 한다(scanreg /fix와 같은 기능).
/backup | 레지스트리 파일(User.dat, System.dat)과 System,ini, Win.ini 파일의 복사본을 RB0nn.CAB 형태의 압축 파일로 만들어 백업한다. 디폴트 백업 경로는 C:\Windows\Sysbckup이다.
/restore | C:\Windows\Sysbckup 폴더에 백업해 놓은 5개의 CAB 파일 중에서 하나를 선택하여 레지스트리를 복원할 수 있다. 비록 백업해 놓은 CAB 파일이 여러 개라 할지라도 가장 최근의 5개만 나타난다.
/fix | 레지스트리를 복구한다. 이때 레지스트리가 손상되었으면 복구하고 무효한 항목이 있는지 검사한다. 뿐만 아니라 레지스트리가 500k 이상의 빈 데이터 블록을 가지고 있으면 레지스트리 검사기는 자동으로 최적화한다.
/comment=text | 레지스트리 파일을 백업할 때 CAB 파일에 주석을 달아 놓는다. 중간에 스페이스(공백)로 분리되는 경우에는 따옴표(" ")로 묶어야 한다.

■ 참고 사항
☞ MSHBIOS와의 호환성
Mshbios가 메모리로 로드된 한글 도스 상태라면 "SCSNREG /restore"를 실행하여 레지스트리를 복구하려고 할 때 레지스트리 파일을 백업하는 과정에서 시스템이 정지된다. 이런 경우에는 Mshbios를 메모리에서 제거한다(mshbios /u).
☞ SCANREG의 알려진 문제점
레지스트리에 VxD 파일 등을 참조하는 항목이 포함되어 있음에도 실제 그 파일이 더 이상 존재하지 않을 경우 레지스트리 검사기에 의해 자동으로 수정되지 않는다. 이런 오류는 레지스트리 손상이 아니므로 레지스트리에서 수동으로 항목을 삭제하거나 노턴 유틸리티에 포함되어 있는 "레지스트리 체커"나 마이크로스프트에서 제공하는 "레지클린(Reg Clean)"을 이용하여 제거해야 한다.
레지스트리 검사기를 실행하기 위해 필요한 기본 메모리 크기는 레지스트리의 크기에 의하여 결정된다. 보통, 레지스트리 복구 작업을 완료하려면 580KB 이상의 상용 메모리가 필요하다. 따라서, 레지스트리 복구 과정에서 "메모리 부족(Out of Memory)" 오류가 발생하면 사용할 수 있는 상용 메모리를 늘려야 한다.
레지스트리 검사기가 실행되기 위해서는 확장 메모리(Extended Memory)가 필요하다(이를 위해 himem.sys가 로드되어야 한다). 따라서, [Safemode Command Prompt Only]로 부팅하면 실행할 수 없다. 단, "Scanreg /restore" 명령어는 scanreg 기능만 수행하므로, XMS 메모리가 없어도 실행할 수 있다.
☞ SCANREG.INI의 내용
레지스트리 검사기는 Scanreg.ini 파일에 의해 설정되며 다음과 같은 내용이 포함되어 있다.
- 레지스트리 검사기의 사용 여부
- 백업본을 몇 개까지 유지할 것인지(기본은 5)
- 백업 폴더의 위치
- 백업셋에 추가할 파일
다음은 SCANREG.INI 파일에 포함되어 있는 항목에 대한 설명이다.

Backup=1 | 기본값은 "1"이며 매일 첫 번째 부팅할 때마다 레지스트리 백업본을 만든다. 이 항목을 "0"으로 설정하면 레지스트리 백업을 하지 않는다(권장되지 않음)
Optimize=1 | 기본값은 "1"로 500KB 이상의 사용되지 않은 공간이 있을 때 현재 레지스트리를 자동으로 최적화한다. 이 항목을 "0"으로 설정하면 사용되지 않은 공간을 제거하므로 현재의 레지스트리 설정을 자동으로 최적화하지 않는다.
MaxBackupCopies=5 | 기본값은 "5"이며 C:\Windows\Sysbckup 폴더에 가장 최근의 5개가 저장이 된다. 이 값은 0∼99까지 지정할 수 있다. 도스로 부팅한 다음 "scanreg /restore"를 실행하여 리얼모드에서 레지스트리 검사기를 사용하여 시스템을 복원할 경우 가장 최근에 백업된 5개의 파일만 나타난다.
BackupDirectory= | 레지스트리 백업 파일이 저장될 경로를 지정한다. 이 항목은 값을 지정하지 않는 것이 기본으로 레지스트리 백업 파일은 자동으로 C:\Windows\Sysbckup 폴더에 기록된다. 레지스트리 백업을 C:\Backup 폴더에 저장하려면 다음과 같이 전체 경로를 입력해 주어야 한다. 예) BackupDirectory=C:\Backup 만약 여기서 지정한 폴더가 없다면 레지스트리 검사기는 백업 파일을 C:\Windows 폴더에 저장한다.
Files= | 이 항목은 기본으로 사용하지 않는 것이지만, 사용자가 지정한 특정 파일을 레지스트리와 함께 CAB 파일로 백업하기 위해 사용할 수 있다. 추가적으로 다른 파일을 CAB 파일에 백업하려면 "Files=<Folder code>,<File name>"의 형식으로 입력한다. 여기서 <Folder code>는 숫자(10, 11, 30, 31)이며, <File Name>은 백업하고자 하는 파일의 이름이다. 만약, 여러 개의 파일을 추가로 백업하려면 각각의 파일을 스페이스(공백)없이 콤마(,)로 구분한다. 다음은 폴더 코드로 사용할 수 있는 숫자다. 10 윈도우가 설치될 폴더(예, C:\Windows) 11 윈도우의 시스템 폴더(예, C:\Windows\System) 30 루트 디렉토리(폴더)(예, C:\) 31 윈도우가 설치된 드라이브의 루트 디렉토리(폴더)(예, C:\) 예를 들어, C:\Windows 폴더에 있는 CONTROL.INI 파일과 ODBCINST.INI 파일을 레지스트리 백업 파일(*.CAB)에 함께 저장하고 싶다면 다음과 같이 입력한다. Files=10, CONTROL.INI,ODBCINST.INI

■ 사용 예
레지스트리 손상에 의해 시스템이 윈도우로 부팅되지 못하고 계속 리부팅되는 경우 이전에 백업해둔 레지스트리 파일로 복원하려면 다음과 같이 레지스트리 검사기를 실행한다.
scanreg /restore
위의 예와 같이 실행하면 레지스트리 검사기는 가장 최근에 백업해 둔 5개의 백업 파일 목록을 보여준다. 이 중에서 가장 최근에 시작된(Started라고 표시된) 레지스트리를 선택하고 <Restore> 버튼을 선택한다.
그러면, 자동으로 백업해둔 레지스트리로 복원하고 시스템을 다시 시작할 수 있도록 메시지가 나타난다.